In its simplest form, a point-to-point data communication system is comprised of first and second data terminal elements (DTE's), first and second data communication elements (DCE's), and a communication link. The DTE's (e.g. computers, terminals, etc.) communicate data information with each other over the transmission line or communication medium (e.g. telephone line, RF link, etc.). The DCE's, which may include modems, multiplexers, terminal adapters and line drivers, act as an interface between their respective DTE's and the communication medium for the exchange of such data information.
In most cases, the communications link is not perfect, and impairments such as noise on the link may cause the data traversing the link to be corrupted or even lost. Impairments can be caused by a number of sources. For example, a telephone line's transmission quality can be degraded by poor quality equipment in the network, poor wire routing, crosstalk from adjacent lines, bad weather (especially lightning), inferior electrical connections, poor microwave or satellite reception, etc. Techniques such as filtering and equalization can compensate for some of these impairments; however, these techniques cannot guarantee that all impairments will be compensated for and that all data will be received correctly.
Link level protocols may be employed in the DCE to detect and correct errors which are introduced in the data exchange as a result of impairments on the transmission line. LAPM (Link Access Procedure for Modems) and MNP (Microcom Networking Protocol) are examples of link level protocols which are commonly used for modem applications. These protocols group data into "frames" which include not only the data itself, but also error detection and control information and start and stop information, which information is collectively referred to as "framing overhead." If a frame is corrupted or lost, i.e. determined to be unacceptable during transmission, the receiving DCE can detect the error and request the transmitting DCE to retransmit the bad frame using the employed protocol. Alternatively, the receiving DCE may simply fail to acknowledge receipt of an unacceptable frame which will result in retransmission by the transmitting DCE after a predetermined period of time.
Throughput is one of the primary measures of a data communication system's performance and represents the effective rate, measured in bits-per-second, at which the system transmits and receives data. Although protocols provide error detection and correction, the overhead introduced by the protocols reduces throughput and therefore performance.
The overhead in error-control protocols such as LAPM or MNP includes framing overhead and retransmission overhead. As previously alluded to, framing overhead comprises the fixed number of octets per frame that do not represent data. The amount of framing overhead depends upon frame size. That is, large frames have less frame overhead because while the number of octets which do not represent data remains constant, the number of data octets is increased.
Retransmission overhead is the transmission time lost when frames are not received correctly and have to be retransmitted. The amount of retransmission overhead depends on (1) transmission line condition (i.e. the degree of impairment on the line), and (2) frame size. That is, the smaller the frame, the greater the probability that it will be received correctly making retransmission unnecessary.
Most error control protocols, including LAPM and MNP, use a fixed frame size which reflects a compromise between the seemingly inconsistent goals of (1) reducing framing overhead by increasing overall frame length, and (2) minimizing the number of retries by reducing frame length. LAPM utilizes a default frame size of 128 octets, although larger frame sizes may be used if agreed upon by both modems. The MNP protocol utilizes a maximum frame size of 256 octets. The temptation to use larger frame sizes to reduced relative overhead must be tempered with the knowledge that throughput would be dramatically reduced on even marginally noisy lines if the large frames had to be retransmitted.
What is needed is a method and apparatus for dynamically reducing the total protocol overhead to the lowest practical level, thus increasing the throughput of a point-to-point communication system which employs error control protocols. When the transmission line is "clean", the system should send larger frames. As the line gets "noisier", the system should transmit smaller and smaller frames since smaller frames have the best chance of arriving without errors and therefore would not require retransmission. Simply stated, what is needed is a technique for dynamically adjusting frame length based on the quality of the transmission line.